package com.flyco.modules.fenxiao.entity;

import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import com.flyco.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import com.flyco.poi.excel.annotation.Excel;

/**
 * @Description: 督导信息
 * @Author: flyco
 * @Date:   2020-07-14
 * @Version: V1.0
 */
@Data
@TableName("wxcp_user")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="wxcp_user对象", description="督导信息")
public class WxCpUser {
    
	/**id*/
	@TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "id")
	private Integer id;
	/**企业微信-userid，成员UserID。对应管理端的帐号，企业内必须唯一。不区分大小写，长度为1~64个字节*/
	@Excel(name = "企业微信-userid，成员UserID。对应管理端的帐号，企业内必须唯一。不区分大小写，长度为1~64个字节", width = 15)
    @ApiModelProperty(value = "企业微信-userid，成员UserID。对应管理端的帐号，企业内必须唯一。不区分大小写，长度为1~64个字节")
	private String userId;
	/**企业微信-name，成员名称，第三方仅通讯录应用可获取，第三方页面需要通过通讯录展示组件来展示名字*/
	@Excel(name = "企业微信-name，成员名称，第三方仅通讯录应用可获取，第三方页面需要通过通讯录展示组件来展示名字", width = 15)
    @ApiModelProperty(value = "企业微信-name，成员名称，第三方仅通讯录应用可获取，第三方页面需要通过通讯录展示组件来展示名字")
	private String name;
	/**企业微信-status，激活状态: 1=已激活，2=已禁用，4=未激活，5=退出企业*/
	@Excel(name = "企业微信-status，激活状态: 1=已激活，2=已禁用，4=未激活，5=退出企业", width = 15)
    @ApiModelProperty(value = "企业微信-status，激活状态: 1=已激活，2=已禁用，4=未激活，5=退出企业")
	private Integer status;
	/**企业微信-main_department，主部门*/
	@Excel(name = "企业微信-main_department，主部门", width = 15)
    @ApiModelProperty(value = "企业微信-main_department，主部门")
	private Long mainDepartment;
	/**企业微信-external_position,对外职务，如果设置了该值，则以此作为对外展示的职务，否则以position来展示。第三方仅通讯录应用可获取*/
	@Excel(name = "企业微信-external_position,对外职务，如果设置了该值，则以此作为对外展示的职务，否则以position来展示。第三方仅通讯录应用可获取", width = 15)
    @ApiModelProperty(value = "企业微信-external_position,对外职务，如果设置了该值，则以此作为对外展示的职务，否则以position来展示。第三方仅通讯录应用可获取")
	private String externalPosition;
	/**企业微信-mobile，手机号码，第三方仅通讯录应用可获取*/
	@Excel(name = "企业微信-mobile，手机号码，第三方仅通讯录应用可获取", width = 15)
    @ApiModelProperty(value = "企业微信-mobile，手机号码，第三方仅通讯录应用可获取")
	private String mobile;
	/**企业微信-avatar，头像url。 第三方仅通讯录应用可获取*/
	@Excel(name = "企业微信-avatar，头像url。 第三方仅通讯录应用可获取", width = 15)
    @ApiModelProperty(value = "企业微信-avatar，头像url。 第三方仅通讯录应用可获取")
	private String avatar;
	/**企业微信-qr_code，员工个人二维码url，扫描可添加为外部联系人*/
	@Excel(name = "企业微信-qr_code，员工个人二维码url，扫描可添加为外部联系人", width = 15)
    @ApiModelProperty(value = "企业微信-qr_code，员工个人二维码url，扫描可添加为外部联系人")
	private String qrCode;
	/**微信平台唯一ID*/
	@Excel(name = "微信平台唯一ID", width = 15)
    @ApiModelProperty(value = "微信平台唯一ID")
	private String unionId;
	/**商城客户ID*/
	@Excel(name = "商城客户ID", width = 15)
    @ApiModelProperty(value = "商城客户ID")
	private Long memberId;
	/**排序*/
	@Excel(name = "排序", width = 15)
    @ApiModelProperty(value = "排序")
	private Integer sort;
	/**创建日期*/
	@Excel(name = "创建日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建日期")
	private Date createTime;
	/**划归到商家id*/
	@Excel(name = "划归到商家id", width = 15)
    @ApiModelProperty(value = "划归到商家id")
	private Long partnerId;
	/**1无，2分销员，3导购，4督导*/
	@Excel(name = "1无，2分销员，3导购，4督导", width = 15)
    @ApiModelProperty(value = "1无，2分销员，3导购，4督导")
	@Dict(dicCode = "dist_user_role")
	private Integer role;

	@TableField(exist = false)
	private String partnerId_dictText;
	@TableField(exist = false)
	private String mainDepartment_dictText;
}
